It is often necessary to monitor the state of various signals related to operation of a device. These signal sources typically include digital sources (switches, buttons, triggers, and the like), as well as discrete or continuous voltage levels (battery levels, etc.). Traditionally, each such signal source is connected to an independent input of a processor so that the processor can react when any one or several of the inputs are activated or reach a predetermined level or levels. In a mobile barcode scanning terminal, for example, the power button, the scan trigger, the battery door, and many other components are often monitored continuously. Similarly, such devices may include various photodetectors, microphones, status indicators, and other discrete and continuous signal sources. As the number of signal sources increases, the number of required general purpose input/output (GPIO) pins on the processor also increases.
In many cases, the only way to increase the number of GPIO pins is to include a larger, more expensive microprocessor, causing the product to increase in size and cost. This is most notably a problem in mobile devices, where miniaturization is key, and there is therefore always a need to reduce the amount of board-space taken up by components.
R2R ladder networks, which are well-known in the art for their use in successive-approximation registers, allow the position of a series of switches to be converted to an analog output voltage. These circuits are central to traditional digital-to-analog techniques. Such R2R ladder networks are undesirable, however, in that they require a great many resistors and use single-pole/double-tluow switches, which tend to be expensive, large, and complex. Furthermore, such systems are not capable of handling multi-voltage signal sources (i.e., discrete or continuous sources).
Accordingly, there is a need for systems and methods that allow the state of multiple switches and other binary digital inputs to be monitored without increasing the number and/or size of processors used in the system.